package com.dcm.item.service;

import com.dcm.item.entity.ItemEntity;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author pengrongsheng
 */
public interface ItemService {
    /**
     * 获得所有商品列表
     * @return List<TbItem>
     */
    List<ItemEntity> findAll();

    /**
     * 根据id查询商品
     * @param id 主键
     * @return  TbItem
     */
    ItemEntity findItemById(Long id);
    /**
     * 添加商品
     * @param item 前台传递的 实体对象
     */
    void addItem(ItemEntity item);

    /**
     * 根据 条件 查询 （关键字 id）
     * @param keyWords 关键字
     * @return List<TbItem>
     */
    List<ItemEntity> findItemByKeyWords(String keyWords);

    /**
     * 根据状态 查询
     * @param status 状态 0在售 1仓库 2 售空 -1回收站
     * @return List<TbItem>
     */
    List<ItemEntity> findItemByStatus(Integer status);

    /**
     * 修改 item
     * @param item 前台传递的 实体对象
     */
    void updateItemStatus(ItemEntity item);

    /**
     * 查询多条件
     * @param specId
     * @param id
     * @param itemName
     * @return
     */
    List<ItemEntity> searchItem(Integer specId, Long id, String itemName);

    /**
     * 分页
     * @param currentPage 当前页
     * @param pageSize 分页单位
     * @return 分页结果
     */
    PageInfo<ItemEntity> findPage(Integer currentPage, Integer pageSize);
}
